﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using FirstApp.App_Code;

namespace FirstApp
{
        public partial class Lobby : Form
        {
                ListaKlientow lk;
                List<Klient> ListaKlientow;
                List<Klient> ListaKlientowFiltr = new List<Klient>();
                AdventureWorksLTEntities dbcontext = new AdventureWorksLTEntities();
                public Lobby()
                {
                        InitializeComponent();
                }

                private void Form1_Load(object sender, EventArgs e)
                {
                        inicjuj();
                }

                public void inicjuj()
                {
                        lk = new ListaKlientow();
                        SumaSprzedarzyContent.Text = lk.SumaSprzedarzy.ToString() + " $";
                        LiczbaKlientowContent.Text = lk.IloscKlientow.ToString();
                        LiczbaAktywnychKlientowContent.Text = lk.IloscAktywnychKlientow.ToString();
                        dataGridView1.DataSource = null;
                        ListaKlientow = lk.WyswietlWszystkichPracownikow();
                        dataGridView1.DataSource = ListaKlientow;
                        dataGridView1.Columns[0].Visible = false;
                }

                private void button1_Click(object sender, EventArgs e)
                {
                        if (dataGridView1.SelectedRows.Count != 1) MessageBox.Show("Musisz wybrać pojedynczy wiesz określający pracownika");
                        else
                        {
                                int ID = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value);
                                Szczegoly s = new Szczegoly(ID);
                                s.Show();
                        }
                }

                private void buttonUsun_Click(object sender, EventArgs e)
                {
                        if (dataGridView1.SelectedRows.Count != 1) MessageBox.Show("Musisz wybrać pojedynczy wiesz określający pracownika");
                        else
                        {
                                int ID = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value);
                                MessageBox.Show("Usunięto klienta " + dataGridView1.SelectedRows[0].Cells[1].Value.ToString());
                        }
                }

                private void buttonDodaj_Click(object sender, EventArgs e)
                {
                        Dodaj dodaj = new Dodaj(this);
                        dodaj.Show();
                }

                private void Lobby_KeyDown(object sender, KeyEventArgs e)
                {
                        if (e.KeyCode == Keys.F5) inicjuj();
                }

                private void buttonFiltruj_Click(object sender, EventArgs e)
                {
                        //Klient kl = new Klient();
                        //kl.NazwaFirmy = textBoxNazwaFirmy.Text;
                        //string bb;
                        //bb.Contains(
                        //ListaKlientowFiltr = ListaKlientow.Contains(kl);
                        //Where(x => x.NazwaFirmy == textBoxNazwaFirmy.Text).ToList();
                        List<int> ids = new List<int>();
                        foreach (Klient kl in ListaKlientow)
                        {
                                if (kl.NazwaFirmy.ToLower().Contains(textBoxNazwaFirmy.Text.ToLower())) ids.Add(kl.Id);
                        }
                        foreach (int id in ids)
                        {
                                ListaKlientowFiltr.Add(ListaKlientow.Where(x => x.Id == id).First());
                        }

                        dataGridView1.DataSource = null;
                        dataGridView1.DataSource = ListaKlientowFiltr;
                        dataGridView1.Columns[0].Visible = false;

                }

                private void button1_Click_1(object sender, EventArgs e)
                {
                        inicjuj();
                }

                private void dataGridView1_SelectionChanged(object sender, EventArgs e)
                {
                        if (dataGridView1.SelectedRows.Count == 1)
                        {
                                int id = Convert.ToInt32(dataGridView1.SelectedRows[0].Cells[0].Value);
                                List<SalesOrderHeader> listaZamowien = dbcontext.SalesOrderHeader.Where(x => x.CustomerID == id).ToList();

                                dataGridView2.DataSource = null;
                                dataGridView2.DataSource = listaZamowien;

                        }
                }

        }
}
